<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" lang="zh" xml:lang="zh">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>工具向导: 使用 Rational Rose 从模型生成元素</title>
<meta content="ToolMentor" name="uma.type">
<meta content="generating_elements" name="uma.name">
<meta content="使用 Rational Rose 从模型生成元素" name="uma.presentationName">
<meta content="Tool:rup_rose_classic:Rational Rose" name="uma.category">
<meta name="element_type" content="tool_mentor">
<meta content="Rational Rose" name="tool">
<meta content="description" name="filetype">
<meta name="role" content="">
<link type="text/css" href="./../../../css/default.css" rel="StyleSheet">
<script language="JavaScript" type="text/javascript" src="./../../../scripts/ContentPageResource.js"></script><script language="JavaScript" type="text/javascript" src="./../../../scripts/ContentPageSection.js"></script><script language="JavaScript" type="text/javascript" src="./../../../scripts/ContentPageSubSection.js"></script><script language="JavaScript" type="text/javascript" src="./../../../scripts/ContentPageToolbar.js"></script><script language="JavaScript" type="text/javascript" src="./../../../scripts/contentPage.js"></script><script language="JavaScript" type="text/javascript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=[{view: "view:_LVCagP5WEdmAzesbYywanQ", path: ["_LVCagP5WEdmAzesbYywanQ", "_gpYSoAILEdq-_NKqZM1EhA", "_qS-iwAIOEdqTna4sZVFRow", "{06FB737B-5D74-4C3B-98F4-36153CFB2E34}", "{EE8B53A9-8501-459E-90CC-990B25068DFA}"]}, {view: "view:_LVCagP5WEdmAzesbYywanQ", path: ["_LVCagP5WEdmAzesbYywanQ", "_zRigkAILEdq-_NKqZM1EhA", "_U5tiUAISEdqTna4sZVFRow", "{06FB737B-5D74-4C3B-98F4-36153CFB2E34}", "{EE8B53A9-8501-459E-90CC-990B25068DFA}"]}, {view: "view:_LVCagP5WEdmAzesbYywanQ", path: ["_LVCagP5WEdmAzesbYywanQ", "_AUv4MAIMEdq-_NKqZM1EhA", "_5ZuQsAIUEdqEutyfYo0quQ", "{06FB737B-5D74-4C3B-98F4-36153CFB2E34}", "{EE8B53A9-8501-459E-90CC-990B25068DFA}"]}, {view: "view:_FCx1oN7CEdmsEI4YDGX2ag", path: ["_FCx1oN7CEdmsEI4YDGX2ag", "_jD8dUAIbEdqEutyfYo0quQ", "_F1OgYAIbEdqEutyfYo0quQ", "{06FB737B-5D74-4C3B-98F4-36153CFB2E34}", "{EE8B53A9-8501-459E-90CC-990B25068DFA}"]}];
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="{EE8B53A9-8501-459E-90CC-990B25068DFA}"></div>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap="true" class="pageTitle">工具向导：使用 Rational Rose 从模型生成元素</td><td width="100%">
<div id="contentPageToolbar" align="right"></div>
</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td class="pageTitleSeparator"><img height="1" title="" alt="" src="./../../../images/shim.gif"></td>
</tr>
</table>
<div class="overview">
<table cellpadding="0" cellspacing="0" border="0" width="97%">
<tr>
<td width="50"><img title="" alt="" src="./../../../images/toolmentor.gif"></td><td>
<table cellpadding="0" cellspacing="0" border="0" class="overviewTable">
<tr>
<td valign="top">此工具向导描述 Rational Rose 的下列功能：从 Rose 模型生成源元素，从而使实施者能够根据 Rose 中记录的设计创建和更新源。</td>
</tr>
<tr>
<td>工具：<a href="./../../../core.base_rup/tools/rup_rose_classic_20F2524D.html" guid="{06FB737B-5D74-4C3B-98F4-36153CFB2E34}">Rational Rose</a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">关系</div>
<div class="sectionContent">
<table cellpadding="0" cellspacing="0" border="0" class="sectionTable">
<tr valign="top">
<th scope="row" class="sectionTableHeading">相关元素</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../../core.base_rup/tasks/implement_component_AE366827.html" guid="{3293F4F7-EFCD-4476-BFF1-81AC3812B512}">实施设计元素</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">主要描述</div>
<div class="sectionContent">
<table cellpadding="0" cellspacing="0" border="0" class="sectionTable">
<tr valign="top">
<td class="sectionTableSingleCell"><a id="Top" name="Top"></a> 
<h3>
    概述
</h3>
<p>
    通过其语言外挂程序，Rational Rose 使开发人员能够直接从设计模型生成代码。随着设计的演进，实施者可以通过下列迭代过程来回使用代码：从模型生成代码、更新源以及通过反向设计将更改带回设计模型中。&nbsp;
</p>
<p>
    以下 Rational Rose 外挂程序提供代码生成功能：
</p>
<ul>
    <li>
        <a href="#Visual C">Visual C++</a>
    </li>
    <li>
        <a href="#Visual Basic">Visual Basic</a>
    </li>
    <li>
        <a href="#ANSI C">ANSI C++</a>
    </li>
    <li>
        <a href="#Rose J (Java)">Rose J（Java）</a>
    </li>
    <li>
        <a href="#CORBA">CORBA</a>
    </li>
    <li>
        <a href="#XML DTD">XML DTD</a>
    </li>
</ul>
<h3>
    <a id="Visual C++" name="Visual C++">Visual C++</a>
</h3>
<p>
    Rational Rose Visual C++ 可用于从 Rose 模型中的类和组件生成 Visual C++ 源代码。 其功能包括：
</p>
<ul>
    <li>
        来回设计 Visual C++ 模型和代码
    </li>
    <li>
        生成完整的常用 Visual C++ 语言构造，如关系、typedef、enum、消息／对象／COM 映射、构造函数和析构函数&nbsp;
    </li>
    <li>
        对为 Visual C++ 元素建模和生成代码的基于对话的支持
    </li>
    <li>
        语法检查
    </li>
    <li>
        用于在更改了代码或模型时自动将其更新的自动同步方式&nbsp;
    </li>
    <li>
        能够通过 COM、ATL 和 MFC 接口库扩展和定制代码生成
    </li>
    <li>
        与 Microsoft 的 Visual Studio 相集成，还包括 IDL 文件
    </li>
    <li>
        支持 Visual C++ 模板类和用户指定的代码模式
    </li>
</ul>
<h3>
    &nbsp;<a id="Visual Basic" name="Visual Basic">Visual Basic</a>
</h3>
<p>
    通过与 Microsoft Visual Basic 6.0 环境紧密集成，Rational Rose Visual Basic Language Support Add-in 使您能够从组件和类生成 Visual Basic
    源代码，并使 Rose 模型中 UML 格式的现有代码可视化。这种可扩展、可定制、基于对话的工具可以引导您平稳地完成从 Rose 模型生成代码、并在更改了模型时更新源代码的全过程。
</p>
<p>
    包括以下功能：
</p>
<ul>
    <li>
        在“类向导”的帮助下在 Rose 模型中新建和指定 Visual Basic 类
    </li>
    <li>
        在“模型助手”工具中，在类中创建成员并指定有关类及其成员的实施详细信息
    </li>
    <li>
        预览要为每个类的每个成员生成的代码
    </li>
    <li>
        在“组件分配”工具的帮助下，将类部署到组件
    </li>
    <li>
        在“代码更新”工具的帮助下，生成完整的常用 Visual Basic 语言构造，如常量、Declare 与 Event 语句、Enum 与 Type 声明、Get、Let 和 Set
        过程，以及从模型中组件到对应源项目的用户定义的收集类
    </li>
    <li>
        用于在删除了模型元素时更新源代码项目项的同步方式&nbsp;
    </li>
    <li>
        能够通过使用 Visual Studio 代码模板和 VBScript 定制和扩展代码生成
    </li>
    <li>
        能够通过使用 VSRTE SDK 自动执行以及扩展来回设计与模板
    </li>
</ul>
<h3>
    <a id="ANSI C++" name="ANSI C++">ANSI C++</a>
</h3>
<p>
    Rose ANSI C+ 是 Rational Rose 的 C++ 外挂程序。它提供下列功能：
</p>
<ul>
    <li>
        支持从分析到设计的模型演进
    </li>
    <li>
        支持 C++ 语言，同时并不限定于某家供应商提供的 C++ 编译器
    </li>
    <li>
        从模型生成 C++ 源代码
    </li>
    <li>
        使模型同步并根据多个迭代生成 C++ 代码的往返工程
    </li>
    <li>
        对代码所作的更改将在反向设计过程中带回模型
    </li>
    <li>
        对所有 C++ 构造（包括类、模板、名称空间、继承和类成员函数）进行设计、建模和可视化
    </li>
    <li>
        支持大的框架
    </li>
    <li>
        通过缺省构造函数、析构函数和类成员的模式，使用户能够控制代码生成
    </li>
    <li>
        样式表机制，使得生成代码能够使用定制格式
    </li>
</ul>
<h3>
    <a id="Rose J (Java)" name="Rose J (Java)">Rose J（Java）</a>&nbsp;
</h3>
<p>
    Rational Rose J 可用于从 Rose 模型中的类和组件生成 Java 源代码。 其功能包括：&nbsp;
</p>
<ul>
    <li>
        生成完整的常用 Java 语言构造，如导入、扩展、实施与引发关系、构造函数以及初始化函数
    </li>
    <li>
        语法检查
    </li>
    <li>
        生成 Javadoc 标记
    </li>
    <li>
        对为 Enterprise JavaBeans 和 Servlets（包括用于部署 Java 2 Enterprise Edition（J2EE）元素的 JAR 和 WAR 归档文件）建模和生成代码的基于对话的支持
    </li>
    <li>
        用于在更改了模型时自动更新代码的自动同步方式
    </li>
    <li>
        能够通过 Java XFE 接口扩展和定制代码生成
    </li>
    <li>
        与 IBM 的 VisualAge for Java 集成&nbsp;
    </li>
    <li>
        用于浏览和编辑 Java 源代码的内置编辑器支持
    </li>
    <li>
        用于将 Java API 类添加到模型的 Java 框架
    </li>
</ul>
<h3>
    <a id="CORBA" name="CORBA">CORBA</a>&nbsp;
</h3>
<p>
    Rational Rose CORBA 可用于从 Rose 模型中的类和组件生成符合 CORBA 的 IDL 代码。 其功能包括：
</p>
<ul>
    <li>
        按照 CORBA 2.3 规范中的定义，生成完整的常用 CORBA IDL 构造、如 const、enum、struct、union、typedef、exception、value、fixed 和 interface
    </li>
    <li>
        生成本机类型（类似 CORBA 基础类型），以允许用户指定依赖于编程语言的类型供对象适配器使用
    </li>
    <li>
        语法检查
    </li>
    <li>
        用于浏览和编辑 IDL 源代码的内置编辑器支持
    </li>
    <li>
        在多个迭代间同步模型和所生成 IDL 源的来回设计功能
    </li>
</ul>
<h3>
    <a id="XML DTD" name="XML DTD">XML DTD</a>&nbsp;
</h3>
<p>
    Rational Rose XML DTD 外挂程序为使用文档类型定义（DTD）的 XML 文档提供可视化、建模和工具。您可以使用该正向设计功能，从有效的 XML DTD 模型新建 XML DTD。
</p>
<p>
    通过对 XML DTD 建模，可使文档结构可视化，以了解要更改或除去哪些元素定义。由于您可能不是孤立工作，因此可以与您开发团队的成员共享 XML DTD 模型，以便验证是否捕获了 XML 文档需求。&nbsp;<br />
    <br />
     Rational Rose XML DTD 语法检查程序可以找到 XML DTD 模型中的错误，从而可使您在实施该 DTD 之前进行更正。
</p>
<p>
    为了支持将 XML 映射为 UML，Rational Rose 使用 XML 元素、元素属性列表、实体和表示法的构造型扩展 UML。构造型或标注值代表 XML 运算符符号、顺序列表、选择列表和元素与元素属性多重性。
</p></td>
</tr>
</table>
</div>
<table cellpadding="0" cellspacing="0" border="0" class="copyright">
<tr>
<td class="copyright"><p>
    &copy; &nbsp;Copyright IBM Corp.&nbsp;1987, 2006. &nbsp;All Rights Reserved.
</p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script language="JavaScript" type="text/javascript">
				contentPage.onload();
			</script>
</html>
